#ifndef CJGORDERPROCESS_H
#define CJGORDERPROCESS_H

#include "cjgdepandency.h"
#include "cjgorder.h"

#include <QString>
#include <qtypes.h>

class CJgProcessSchedule;
class CJgOrder;
class CJgDepandency;

class CJgOrderProcess
{
public:
    qlonglong miProcessId;  // 订单工序ID，t_order_process.order_process_id
    int miStyleTypePartId;//款式部件id，指向部件名，[zj02f02].[t_process].style_type_part_id,算法中没有用到
    QString mPartName;//部件名，
    QString mProcessCode;//工序代码
    QString mProcessBrief;//工序简称
    QString mProcessDetail;//工序详情
    QString mProcessType;//做工类型，
    int miProcessLevel;//工序等级
    QString mMachineType;//机器类型
    float mfProcessTotalTime;//总工时，用于工位机显示
    float mfProcessStdTime;//标准工时，用于工序各种排产计算数据版本102增加
    int miFinishedCnt;//已完成件数
    bool mbCompletedFlag;//完成标志
    int miPartSeqNum;//工序在部件中的工作顺序
    int miProcessAttri;//附加属性
    CJgProcessSchedule * mScheduling;//排产数据，新增
    QString mLocalOrderNumber;//新增
    //QList<CJgTemplateCar *> lTemplateCar;
    CJgOrder * pOrder;//所在的订单
    CJgDepandency mDepandency;
    float mfExtUnitPrice;//额外单价，目前全部是0，暂时不参与串行化
    float mfStaUnitPrice;//标准单价，暂时不参与串行化
    float mfTargetPerHour;//小时指标，暂时不参与串行化
    float mfCoefTime;//补贴工时，暂时不参与串行化
    float mfSalaryPerHour;//小时工资，暂时不参与串行化

    CJgOrderProcess();
    bool IsNormal();
    bool IsMidCheck();
    bool IsInterrupt();
    bool IsOutLine();
    bool IsSecondPackup();
    bool IsSkip();
    bool IsSendOut();
};

#endif // CJGORDERPROCESS_H
